/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package managertelaCadastros;

import classes.Funcao;
import classes.Funcionario;
import dao.DaoFuncionario;
import java.util.List;
import telaCadastros.CadFuncionario;

/**
 *
 * @author fumio
 */
public final class managerCadFuncionario implements interfaceManager {

    private Funcionario funcionario;
    private static CadFuncionario cadFuncionario;
    private DaoFuncionario daofuncionario = new DaoFuncionario();

    public managerCadFuncionario(Funcionario cfuncionario) {
        cadFuncionario = CadFuncionario.getInstance(this);
        if (cfuncionario == null) {
            funcionario = new Funcionario();
        } else {
            funcionario = cfuncionario;
            getData();
        }
        carregarFuncao();
        cadFuncionario.setVisible(true);
    }

    @Override
    public boolean salvar() {
        boolean resultado;
        try {
            if (setData()) {
                daofuncionario.salvar(funcionario);
            }
            resultado = true;
        } catch (Exception e) {
            System.out.println(e.getMessage());
            resultado = false;
        }

        return resultado;
    }

    @Override
    public List carregar() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void carregarFuncao() {
        List<Funcao> lista = daofuncionario.listaFuncao();
        cadFuncionario.cmbFuncao.removeAllItems();
        Funcao aux;
        for (int i = 0; i < lista.size(); i++) {
            aux = (Funcao) lista.get(i);
            cadFuncionario.cmbFuncao.addItem(aux);
        }
    }

    @Override
    public boolean setData() {
        boolean response;
        try {
            funcionario.setNome(cadFuncionario.edtNome.getText());
            funcionario.setLogin(cadFuncionario.edtLogin.getText());
            funcionario.setSenha(cadFuncionario.senha.getText());
            funcionario.setFuncao((Funcao) cadFuncionario.cmbFuncao.getSelectedItem());

            response = true;
        } catch (Exception e) {
            response = false;
        }
        return response;
    }

    @Override
    public void getData() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
